﻿using Os.Domain;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
using MySql.Data.MySqlClient;
using System.Collections.Generic;
using System.Data;

namespace Os.Test
{
    
    
    /// <summary>
    ///This is a test class for LoteTest and is intended
    ///to contain all LoteTest Unit Tests
    ///</summary>
    [TestClass()]
    public class LoteTest
    {


        private TestContext testContextInstance;

        /// <summary>
        ///Gets or sets the test context which provides
        ///information about and functionality for the current test run.
        ///</summary>
        public TestContext TestContext
        {
            get
            {
                return testContextInstance;
            }
            set
            {
                testContextInstance = value;
            }
        }

        #region Additional test attributes
        // 
        //You can use the following additional attributes as you write your tests:
        //
        //Use ClassInitialize to run code before running the first test in the class
        //[ClassInitialize()]
        //public static void MyClassInitialize(TestContext testContext)
        //{
        //}
        //
        //Use ClassCleanup to run code after all tests in a class have run
        //[ClassCleanup()]
        //public static void MyClassCleanup()
        //{
        //}
        //
        //Use TestInitialize to run code before running each test
        //[TestInitialize()]
        //public void MyTestInitialize()
        //{
        //}
        //
        //Use TestCleanup to run code after each test has run
        //[TestCleanup()]
        //public void MyTestCleanup()
        //{
        //}
        //
        #endregion


        /// <summary>
        ///A test for Lote Constructor
        ///</summary>
        [TestMethod()]
        public void LoteConstructorTest()
        {
            int idLote = 0; // TODO: Initialize to an appropriate value
            Lote target = new Lote(idLote);
            Assert.Inconclusive("TODO: Implement code to verify target");
        }

        /// <summary>
        ///A test for Lote Constructor
        ///</summary>
        [TestMethod()]
        public void LoteConstructorTest1()
        {
            Lote target = new Lote();
            Assert.Inconclusive("TODO: Implement code to verify target");
        }

        /// <summary>
        ///A test for CompleteObject
        ///</summary>
        [TestMethod()]
        public void CompleteObjectTest()
        {
            Lote target = new Lote(); // TODO: Initialize to an appropriate value
            target.CompletarObjeto();
            Assert.Inconclusive("A method that does not return a value cannot be verified.");
        }

        /// <summary>
        ///A test for Delete
        ///</summary>
        [TestMethod()]
        public void DeleteTest()
        {
            int idCidade = 0; // TODO: Initialize to an appropriate value
            Lote.Remover(idCidade);
            Assert.Inconclusive("A method that does not return a value cannot be verified.");
        }

        /// <summary>
        ///A test for Delete
        ///</summary>
        [TestMethod()]
        public void DeleteTest1()
        {
            MySqlTransaction trans = null; // TODO: Initialize to an appropriate value
            int idCidade = 0; // TODO: Initialize to an appropriate value
            Lote.Remover(trans, idCidade);
            Assert.Inconclusive("A method that does not return a value cannot be verified.");
        }

        /// <summary>
        ///A test for GetParameters
        ///</summary>
        [TestMethod()]
        [DeploymentItem("Os.Domain.dll")]
        public void GetParametersTest()
        {
            Lote_Accessor target = new Lote_Accessor(); // TODO: Initialize to an appropriate value
            List<MySqlParameter> expected = null; // TODO: Initialize to an appropriate value
            List<MySqlParameter> actual;
            actual = target.ObterParametros();
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for InicializaCompetencia
        ///</summary>
        [TestMethod()]
        public void InicializaCompetenciaTest()
        {
            Lote target = new Lote(); // TODO: Initialize to an appropriate value
            DateTime data = new DateTime(); // TODO: Initialize to an appropriate value
            target.InicializaCompetencia(data);
            Assert.Inconclusive("A method that does not return a value cannot be verified.");
        }

        /// <summary>
        ///A test for Insert
        ///</summary>
        [TestMethod()]
        [DeploymentItem("Os.Domain.dll")]
        public void InsertTest()
        {
            Lote_Accessor target = new Lote_Accessor(); // TODO: Initialize to an appropriate value
            target.Inserir();
            Assert.Inconclusive("A method that does not return a value cannot be verified.");
        }

        /// <summary>
        ///A test for Insert
        ///</summary>
        [TestMethod()]
        [DeploymentItem("Os.Domain.dll")]
        public void InsertTest1()
        {
            Lote_Accessor target = new Lote_Accessor(); // TODO: Initialize to an appropriate value
            MySqlTransaction trans = null; // TODO: Initialize to an appropriate value
            target.Inserir(trans);
            Assert.Inconclusive("A method that does not return a value cannot be verified.");
        }

        /// <summary>
        ///A test for CarregarTodos
        ///</summary>
        [TestMethod()]
        public void CarregarTodosTest()
        {
            List<Lote> expected = null; // TODO: Initialize to an appropriate value
            List<Lote> actual;
            actual = Lote.CarregarTodos();
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for CarregarDadosBanco
        ///</summary>
        [TestMethod()]
        [DeploymentItem("Os.Domain.dll")]
        public void CarregarDadosBancoTest()
        {
            IDataReader expected = null; // TODO: Initialize to an appropriate value
            IDataReader actual;
            actual = Lote_Accessor.CarregarDados();
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for CarregarDadosBanco
        ///</summary>
        [TestMethod()]
        [DeploymentItem("Os.Domain.dll")]
        public void CarregarDadosBancoTest1()
        {
            int parChave = 0; // TODO: Initialize to an appropriate value
            string campo = string.Empty; // TODO: Initialize to an appropriate value
            Cliente objCliente = null; // TODO: Initialize to an appropriate value
            IDataReader expected = null; // TODO: Initialize to an appropriate value
            IDataReader actual;
            actual = Lote_Accessor.CarregarDados(parChave, campo, objCliente);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for CarregarObjeto
        ///</summary>
        [TestMethod()]
        public void CarregarObjetoTest()
        {
            int idLote = 0; // TODO: Initialize to an appropriate value
            Lote expected = null; // TODO: Initialize to an appropriate value
            Lote actual;
            actual = Lote.CarregarObjeto(idLote);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for CarregarObjetoByCompetencia
        ///</summary>
        [TestMethod()]
        public void CarregarObjetoByCompetenciaTest()
        {
            DateTime competencia = new DateTime(); // TODO: Initialize to an appropriate value
            Cliente objCliente = null; // TODO: Initialize to an appropriate value
            Lote expected = null; // TODO: Initialize to an appropriate value
            Lote actual;
            actual = Lote.CarregarPorCompetencia(competencia, objCliente);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for Save
        ///</summary>
        [TestMethod()]
        public void SaveTest()
        {
            Lote target = new Lote(); // TODO: Initialize to an appropriate value
            MySqlTransaction trans = null; // TODO: Initialize to an appropriate value
            target.Salvar(trans);
            Assert.Inconclusive("A method that does not return a value cannot be verified.");
        }

        /// <summary>
        ///A test for Save
        ///</summary>
        [TestMethod()]
        public void SaveTest1()
        {
            Lote target = new Lote(); // TODO: Initialize to an appropriate value
            target.Salvar();
            Assert.Inconclusive("A method that does not return a value cannot be verified.");
        }

        /// <summary>
        ///A test for RealizarPersistencia
        ///</summary>
        [TestMethod()]
        [DeploymentItem("Os.Domain.dll")]
        public void RealizarPersistenciaTest()
        {
            IDataReader dado = null; // TODO: Initialize to an appropriate value
            Lote objLote = null; // TODO: Initialize to an appropriate value
            Lote_Accessor.PreencherInstancia(dado, objLote);
            Assert.Inconclusive("A method that does not return a value cannot be verified.");
        }

        /// <summary>
        ///A test for SetParameters
        ///</summary>
        [TestMethod()]
        [DeploymentItem("Os.Domain.dll")]
        public void SetParametersTest()
        {
            Lote_Accessor target = new Lote_Accessor(); // TODO: Initialize to an appropriate value
            List<MySqlParameter> parms = null; // TODO: Initialize to an appropriate value
            target.PreencherParametros(parms);
            Assert.Inconclusive("A method that does not return a value cannot be verified.");
        }

        /// <summary>
        ///A test for Update
        ///</summary>
        [TestMethod()]
        [DeploymentItem("Os.Domain.dll")]
        public void UpdateTest()
        {
            Lote_Accessor target = new Lote_Accessor(); // TODO: Initialize to an appropriate value
            MySqlTransaction trans = null; // TODO: Initialize to an appropriate value
            target.Atualizar(trans);
            Assert.Inconclusive("A method that does not return a value cannot be verified.");
        }

        /// <summary>
        ///A test for Update
        ///</summary>
        [TestMethod()]
        [DeploymentItem("Os.Domain.dll")]
        public void UpdateTest1()
        {
            Lote_Accessor target = new Lote_Accessor(); // TODO: Initialize to an appropriate value
            target.Atualizar();
            Assert.Inconclusive("A method that does not return a value cannot be verified.");
        }

        /// <summary>
        ///A test for Cliente
        ///</summary>
        [TestMethod()]
        public void ClienteTest()
        {
            Lote target = new Lote(); // TODO: Initialize to an appropriate value
            Cliente expected = null; // TODO: Initialize to an appropriate value
            Cliente actual;
            target.Cliente = expected;
            actual = target.Cliente;
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for Competencia
        ///</summary>
        [TestMethod()]
        public void CompetenciaTest()
        {
            Lote target = new Lote(); // TODO: Initialize to an appropriate value
            int actual;
            actual = target.Competencia;
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for HorasContrato
        ///</summary>
        [TestMethod()]
        public void HorasContratoTest()
        {
            Lote target = new Lote(); // TODO: Initialize to an appropriate value
            TimeSpan expected = new TimeSpan(); // TODO: Initialize to an appropriate value
            TimeSpan actual;
            target.HorasContrato = expected;
            actual = target.HorasContrato;
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for HorasExcedentes
        ///</summary>
        [TestMethod()]
        public void HorasExcedentesTest()
        {
            Lote target = new Lote(); // TODO: Initialize to an appropriate value
            TimeSpan expected = new TimeSpan(); // TODO: Initialize to an appropriate value
            TimeSpan actual;
            target.HorasExcedentes = expected;
            actual = target.HorasExcedentes;
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for HorasUtilizadas
        ///</summary>
        [TestMethod()]
        public void HorasUtilizadasTest()
        {
            Lote target = new Lote(); // TODO: Initialize to an appropriate value
            TimeSpan expected = new TimeSpan(); // TODO: Initialize to an appropriate value
            TimeSpan actual;
            target.HorasUtilizadas = expected;
            actual = target.HorasUtilizadas;
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for IdLote
        ///</summary>
        [TestMethod()]
        public void IdLoteTest()
        {
            Lote target = new Lote(); // TODO: Initialize to an appropriate value
            int expected = 0; // TODO: Initialize to an appropriate value
            int actual;
            target.IdLote = expected;
            actual = target.IdLote;
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for SaldoHoras
        ///</summary>
        [TestMethod()]
        public void SaldoHorasTest()
        {
            Lote target = new Lote(); // TODO: Initialize to an appropriate value
            TimeSpan expected = new TimeSpan(); // TODO: Initialize to an appropriate value
            TimeSpan actual;
            target.SaldoHoras = expected;
            actual = target.SaldoHoras;
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for Total
        ///</summary>
        [TestMethod()]
        public void TotalTest()
        {
            Lote target = new Lote(); // TODO: Initialize to an appropriate value
            float expected = 0F; // TODO: Initialize to an appropriate value
            float actual;
            target.Total = expected;
            actual = target.Total;
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }
    }
}
